//class Solution
//{
//	int dx[4] = { 0, 0, 1, -1 };
//	int dy[4] = { 1, -1, 0, 0 };
//	int m, n;
//	int prev;
//public:
//	vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc,
//		int color)
//	{
//		if (image[sr][sc] == color) return image;
//		m = image.size(), n = image[0].size();
//		prev = image[sr][sc];
//		dfs(image, sr, sc, color);
//		return image;
//	}
//	void dfs(vector<vector<int>>& image, int i, int j, int color)
//	{
//		image[i][j] = color;
//		for (int k = 0; k < 4; k++)
//		{
//			int x = i + dx[k], y = j + dy[k];
//			if (x >= 0 && x < m && y >= 0 && y < n && image[x][y] == prev)
//			{
//				dfs(image, x, y, color);
//			}
//		}
//	}
//};